Saltar al contenido principal

Relay - la tarjeta que está en otro lado

Analogía para empezar: el relay es un puente telefónico entre dos personas que creen estar hablando cara a cara. La tarjeta real está en una ciudad; la terminal en otra; y un intermediario les conecta las llamadas byte a byte. Nadie miente en la conversación — cada palabra es auténtica, cada firma es válida, el criptograma es real y el contador es correcto. Lo único falso es la distancia, y hasta hace poco nada en el protocolo la medía.

La idea​

Dos dispositivos y un enlace: uno junto a la terminal finge ser la tarjeta (Card Emulator); otro junto a la tarjeta real finge ser la terminal (Terminal Emulator). Cada APDU se transporta y cada respuesta se trae de vuelta. Ninguno de los extremos calcula nada.

Es más difícil defenderse del relay que de la clonación o la repetición: no hay datos falsificados que detectar. Todas las contramedidas propuestas se basan en el tiempo o el contexto, porque la corrección de los datos no está en duda y no puede servir de criterio.

Frente a los demás ataques (qué falsifica / qué puede delatarlo): clonación (tarjeta entera / el chip, no tiene llave); degradación (un campo que dirige / a menudo nada); repetición (respuesta grabada / la frescura, el UN); pre-play (nada criptográfico / contador + RNG, a posteriori); cuña (una respuesta no autenticada / contadores de la tarjeta); relay (absolutamente nada / solo cuándo y dónde — nada de eso está en los datos).

Cómo es posible que funcione​

Tres protocolos apilados: Capa 1 ISO 14443 (UID, tramas — dispersión 2.36 µs), Capa 2 ISO 7816-4 (APDUs, reenviados tal cual), Capa 3 EMV (dispersión 48,858 µs). Un relay que reenvía APDUs vive en la capa 2 y es transparente para la capa 3: el mismo relay sirve para Visa y Mastercard, con contacto y sin contacto, sin saber nada de ninguno.

Recorre la transacción buscando un campo que dependa de la distancia: no existe. Importe, país, moneda, fecha, tipo, UN, TTQ, MCC: todos describen qué se compra y quién compra, ninguno dice dónde — y la tarjeta los firma todos fielmente. El TVR (40 bits, 26 con significado) no tiene ni un bit para el tiempo transcurrido: el bit 2 del byte 5 (resistencia al relay) lo tomó prestado un kernel de un rango reservado años después — EMV nunca previó ninguna comprobación de distancia.

Qué no necesita un relay​

Ingrediente¿Lo necesita?
Material de llavesNo — el lector no puede comprobar el MAC; el relay nunca la ve
Certificado falsificadoNo — la cadena auténtica se reenvía intacta
Conocer el protocolo (capa física)No — relay de autos "completamente independiente de la modulación, el protocolo o la autenticación"
Tocar la tarjetaNo — llaves de auto energizadas a 8 m; bobinas pasivas a 49.6 cm; funciona en bolsillo
Energía cerca de la víctimaNo necesariamente — ReCoil toma todo del campo del lector
El PINNo por debajo del techo contactless
Una sola tarjeta en el campoSí — colisión = pago rechazado
Enlace suficientemente rápidoSí — la única restricción de ingeniería real
Dos lugares a la vezSí — el requisito que nadie ha eliminado; por eso el relay sigue siendo raro

Francillon et al. (autos) hacen relay en el dominio analógico: "no necesita interpretar ni modificar la señal", solo amplificarla, desplazarla en frecuencia y reemitirla. Reforzar la criptografía no cambia nada en un protocolo retransmitido así. "Usamos AES, así que esto está a salvo del relay" es un error de categoría.

El protocolo le regala al relay: la tarjeta puede pedir más tiempo (WTX de ISO 14443-4 — hay una forma legítima de ser lento), y la fragmentación de tramas afecta el cronometraje — "todo intercambio cronometrado debería usar la trama más pequeña posible".

El presupuesto​

La luz recorre ~300 m/µs: un relay de 1 km cuesta 3.3 µs por sentido. Ese mínimo es la base teórica de toda acotación de distancia. La pregunta inversa: ¿cuánto retardo tolera el sistema honesto? Dispersión honesta (Radu et al., 600 mediciones, Proxmark a 0.074 µs):

IntercambioNivelDispersiónPropagación que cabe
ANTICOLLISION12.36 µs~0.7 km
SELECT UID1208.85 µs~63 km
RATS1989.97 µs~297 km
SELECT AID325,137 µs~7,500 km
GPO 1348,858 µs~14,600 km
GPO 23571,411 µs~171,000 km

Cuanto más abajo cronometras, menos espacio hay para esconderse. La última fila: una Mastercard común, GPO 2 promedia 390,503 µs con desviación de 129,160 µs — un comando tarda 4 décimas y varía más de medio segundo entre presentaciones honestas. Algo se está calculando (operaciones de llave pública). Lo que añada un relay se pierde ahí dentro.

El límite de 500 ms (libro de arquitectura contactless, no Book 3): acota la transacción entera una vez que EMV empezó; no es por comando ni mide RTT; es un temporizador de vigilancia, no una acotación de distancia. La aportación del relay es una constante cobrada dos veces por RTT (microsegundos por radio local, decenas de ms por internet) — se pierde en la variación de la tarjeta.

Lo que restringe a un relay no es la velocidad de la luz: son la demodulación y los búferes del propio atacante (~17 ms en el chip NFC; SDR 10-20 ms → FPGA 4 µs). "Los relays también se están volviendo más rápidos, incluso con hardware barato de catálogo" (Man in the NFC, DEF CON 25). Un umbral calibrado para los relays de hoy apunta a un blanco móvil que se mueve a favor del atacante. Y un relay no tiene que retransmitirlo todo: los registros estáticos se cachean (los RTT eliminados subieron la tasa de éxito del 40% al 100%).

Qué cuesta el enlace​

TransporteAlcanceCosto
Coaxial60 m (estacionamiento)350 ns; ~66% de c; se ve
Conversión ascendente analógica30 m probados, más posible120 ns (15-20 ns circuitos); nada se demodula — indetectable como protocolo
Wi-Fi / celularDe una sala a una ciudadEl montaje real de Radu et al.
Internet / MQTTIlimitadoDecenas de ms; tarjeta y terminal en continentes distintos
LoRaKilómetros sin infraestructuraAncho de banda irrelevante: la respuesta más larga de las capturas son 256 bytes; >95% < 100
Bobinas pasivas49.6 cmSin enlace y sin alimentación

Si una transacción puede completarse con la tarjeta en otro continente, la terminal nunca supo que la tarjeta estaba presente: dio por hecha la presencia a partir de la física de una antena de corto alcance. Nunca hubo un control que burlar.

ReCoil: el relay sin electrónica dentro​

Sun et al. (IEEE IoT 2020): cadena de bobinas de cobre resonantes sintonizadas con capacitores variables a 13.56 MHz que guían el flujo magnético del lector hasta la tarjeta. Sin transmisor, sin batería, sin firmware. 49.6 cm contra un límite anunciado de 5 cm: diez veces más. Hardware: un medio cinturón con dos bobinas cuadradas + una curva, y tres bobinas en una mochila. Robustez: placas de hierro 48.3 cm, teléfonos ajenos 48.2, llaves 48.0; lámina de ferrita recupera y da 49.6; dos tarjetas 45.6, tres 40.5 (sigue seleccionando una). Escenario: la atacante delante de ti en la fila; tu tarjeta paga su compra.

La propiedad de seguridad es el silencio, no el alcance: no transmiten, no modifican ni alteran la temporización — escapan por diseño a la radiogoniometría, a los bytes alterados y a los umbrales de latencia. (Afirman latencia insignificante, sin cifra publicada: trátala como suya.)

El mismo ataque, en autos​

Francillon, Danev, Čapkun (NDSS 2011): acceso pasivo sin llave — 10 modelos de 8 fabricantes, todos cayeron (uno de posventa, ~$200). El reto LF del auto se capta en la manija, se sube a 2.5 GHz, se transporta y se reemite ante la llave; la llave contesta por UHF (~100 m) sin relay. Cable 30 m = 160 ns; inalámbrico = 120 ns; dispersión honesta 11-436 µs; retardo máximo aceptado 35 µs a decenas de ms → relay teórico de 10-3000 km. Alcance hasta la llave: 0.1-8 m (con amplificador de 2-5 W). Costo: $100-1000.

Los fabricantes fijaron el retardo máximo aceptable en ~20-50 veces la dispersión de respuesta: un parámetro de confiabilidad (que quien tiene prisa no quede fuera de su auto), nunca de seguridad — y resulta ser el presupuesto del atacante. Cualquier tolerancia para absorber la variación honesta es, del otro lado, un presupuesto. La proporción la fija la usabilidad, no la criptografía.

Contramedidas: funda metálica (jaula de Faraday — la misma que para tarjetas), quitar la batería (modo pasivo de centímetros). Ambas anulan el acceso sin llave. Ojo: blindar es más difícil de lo que parece y se puede vencer subiendo la potencia. La economía no se parece: el auto se lo llevan entero y sin rastro físico; un pago retransmitido es una transacción limitada por el techo, reversible y ligada a un comercio con relación de adquirencia — por eso los autos produjeron hardware dedicado y los pagos en gran medida no.

Qué limita de verdad al relay​

Operativo, no criptográfico: dos dispositivos en dos lugares en el mismo momento, coordinados, con alguien en cada extremo; una sola compra, en un solo comercio, por un monto limitado por el mismo techo que hizo cómodo el contactless. Por encima del techo el ataque se convierte en un problema de verificación del tarjetahabiente, no de relay. La medida antirelay más eficaz desplegada es un teléfono que no opera hasta reconocer a su dueño. Y la detección real es analítica: una transacción en Madrid con una tarjeta usada en Lima hace 4 minutos es imposible, diga lo que diga el cronometraje. La contramedida criptográfica acota; la analítica detecta; solo una está desplegada.

Por qué una traza no puede mostrarte un relay​

Ninguna captura registra un reloj: solo bytes de comando, respuesta y palabra de estado. Una traza de APDUs no puede responder la única pregunta que plantea el relay. Y sin embargo las capturas de ejemplo sí contienen uno: la sesión Mastercard la produjo una herramienta que se identifica en texto plano antes del primer comando — "os=relay attack=intercept": tarjeta inteligente virtual + tarjeta real en lector de contacto + dispositivo de acoplamiento por proximidad virtual sobre un socket TCP. Esas líneas están en el archivo de captura; las herramientas de análisis las descartan porque los APDUs son el protocolo y el mensaje de inicio no. Todo cuadra en los bytes, porque todo es auténtico: el relay es el único ataque cuya prueba no está en los datos.